$(function () {
    // 1.表单效验
    /* 
    01.用户名不能为空
    02.用户名为2-6位
    03.密码不能小于6位
    */
    $(".login-form").bootstrapValidator({
        //1-指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        // 插件会默认不校验 不可用 和不可见的表单 
        excluded: [':disabled', ':hidden', ':not(:visible)'],

        //2- 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        // 3-指定要校验的数据(字段)
        fields: {
            //表单校验插件 根据name属性进行校验 
            username: {
                // 校验规则 
                validators: {
                    // 非空：
                    notEmpty: {
                        // 提示消息
                        message: '用户名不能为空！'
                    },
                    // 长度2-6位 
                    stringLength: {
                        min: 2, // 最小长度
                        max: 6, // 最大长度 
                        message: '用户名必须2-6位！'
                    },
                    // 拓展提示信息  自己加的
                    callback: {
                        message: '用户名不存在！'
                    }
                }
            },
            password: {
                // 校验规则 
                validators: {
                    // 非空：
                    notEmpty: {
                        // 提示消息
                        message: '密码不能为空！'
                    },
                    // 长度6-12位 
                    stringLength: {
                        min: 6, // 最小长度
                        max: 12, // 最大长度 
                        message: '密码长度必须是6-12！'
                    },
                    // 拓展一个提示信息
                    callback: {
                        message: '密码错误！'
                    }
                }
            }
        }
    })

    // 2.表单重置，reset只能重置内容，不能重置样式
    // 提供resetFrom():  validator.resetForm();//重置表单，并且会隐藏所有的错误提示和图标
    /* 
    获取插件实例：  $(表单).data('bootstrapValidator') 
    通过插件实例 去调用插件方法；
    $('.login-form').data('bootstrapValidator').resetForm(); 
    */
    //点击重置按钮重置所有
    $(".btn-reset").click(function () {
        $(".login-form").data('bootstrapValidator').resetForm()
    })


    // 3.用户登录
    // 表单校验插件， 提供了 success.form.bv 事件, 在 用户点击提交按钮，并且数据合理的情况下触发
    $(".login-form").on("success.form.bv", function (e) {
        // 阻止默认行为
        e.preventDefault()
        // 把数据交给后台
        $.ajax({
            type: 'post',
            url: '/employee/employeeLogin',
            data: $(".login-form").serialize(),
            dataType: 'json',
            success: function (res) {
                console.log(res);
                // 成功跳转跳转页面
                if (res.success) {
                    location.href = "./index.html"
                }
                // 如果错误码是1000，用户名不存在,提示重新登录
                if (res.error === 1000) {
                    // 在用户登录失败后，将对应表单的校验状态 改为失败的状态 
                    // updateStatus(数据name属性, 状态，提示信息
                    // 提示信息:必须是之前设置过的，如果不合适可以自己加一个，但是你只能加一个
                    $('.login-form').data('bootstrapValidator').updateStatus('username', 'INVALID', 'callback');
                }
                if (res.error === 1001) {
                    // 在用户登录失败后，将对应表单的校验状态 改为失败的状态
                    $('.login-form').data('bootstrapValidator').updateStatus('password', 'INVALID', 'callback');
                }

            },

        })

    })

    
})